﻿using System;
using System.Collections.Generic;

namespace Telerik.Sitefinity.Social.Model
{
    /// <summary>
    /// Represents a group of persons joined together around common cause or interes
    /// </summary>
    [Telerik.OpenAccess.Persistent]
    public class Group
    {
        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        /// <value>The id.</value>
        public Guid Id
        {
            get { return this.id; }
            set { this.id = value; }
        }

        /// <summary>
        /// Gets or sets the title.
        /// </summary>
        /// <value>The title.</value>
        public string Title
        {
            get { return this.title; }
            set { this.title = value; }
        }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>The description.</value>
        public string Description
        {
            get { return this.description; }
            set { this.description = value; }
        }

        /// <summary>
        /// Gets the member usernames.
        /// </summary>
        /// <value>The member usernames.</value>
        public IList<string> MemberUsernames
        {
            get
            {
                if(this.memberUsernames == null)
                    this.memberUsernames = new List<string>();
                return this.memberUsernames;
            }
        }

        private Guid id;
        private string title;
        private string description;
        private IList<string> memberUsernames;
    }
}
